package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author code-generate
 * @date 2022-01-24
 */
@Data
@DbTable(tableName = "t_plane")
public class Plane extends BaseEntity {
        /**
     * 养护计划ID
     */
    @DbTableField(columnName = "c_plane_id", dbType = DbTypeEnum.CHAR)
    public String planeId ;

    /**
     * 计划名称
     */
    @DbTableField(columnName = "c_plane_name", dbType = DbTypeEnum.VARCHAR)
    public String planeName ;

    /**
     * 
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 
     */
    @DbTableField(columnName = "c_plane_type", dbType = DbTypeEnum.INTEGER)
    public Integer planeType ;

    /**
     * 
     */
    @DbTableField(columnName = "c_add_type", dbType = DbTypeEnum.INTEGER)
    public Integer addType ;

    /**
     * 实施日期
     */
    @DbTableField(columnName = "c_start_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime startDate ;

    /**
     * 截止日期
     */
    @DbTableField(columnName = "c_end_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime endDate ;

    /**
     * 标段ID
     */
    @DbTableField(columnName = "c_section_id", dbType = DbTypeEnum.CHAR)
    public String sectionId ;

    /**
     * 公司ID
     */
    @DbTableField(columnName = "c_company_id", dbType = DbTypeEnum.CHAR)
    public String companyId ;

    /**
     * 经费
     */
    @DbTableField(columnName = "c_budget", dbType = DbTypeEnum.DOUBLE)
    public Double budget ;

    /**
     * 提交状态（0：暂存，1：已提交）
     */
    @DbTableField(columnName = "c_state", dbType = DbTypeEnum.INTEGER)
    public Integer state ;

    /**
     * 提交人
     */
    @DbTableField(columnName = "c_submit_people", dbType = DbTypeEnum.INTEGER)
    public Integer submitPeople ;

    /**
     * 提交日期
     */
    @DbTableField(columnName = "c_submit_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime submitDate ;

    /**
     * 养护计划描述
     */
    @DbTableField(columnName = "c_desc", dbType = DbTypeEnum.VARCHAR)
    public String desc ;

    /**
     * 0：计划  1：台账
     */
    @DbTableField(columnName = "c_is_standing_book", dbType = DbTypeEnum.INTEGER)
    public Integer isStandingBook ;

    /**
     * 0：计划  1：台账
     */
    @DbTableField(columnName = "c_is_sample", dbType = DbTypeEnum.INTEGER)
    public Integer isSample ;

    /**
     * 
     */
    @DbTableField(columnName = "c_desc2", dbType = DbTypeEnum.VARCHAR)
    public String desc2 ;

    /**
     * 核实人
     */
    @DbTableField(columnName = "c_verify_people_name", dbType = DbTypeEnum.VARCHAR)
    public String verifyPeopleName ;

    /**
     * 核实日期
     */
    @DbTableField(columnName = "c_verify_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime verifyDate ;

    /**
     * 核实描述
     */
    @DbTableField(columnName = "c_verify_desc", dbType = DbTypeEnum.VARCHAR)
    public String verifyDesc ;

    /**
     * 
     */
    @DbTableField(columnName = "c_audit_on", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime auditOn ;

    /**
     * 
     */
    @DbTableField(columnName = "c_audit_by", dbType = DbTypeEnum.INTEGER)
    public Integer auditBy ;

    /**
     * 
     */
    @DbTableField(columnName = "c_audit_remark", dbType = DbTypeEnum.VARCHAR)
    public String auditRemark ;

    /**
     * 审核状态（2：已完成）
     */
    @DbTableField(columnName = "c_exmain_state", dbType = DbTypeEnum.INTEGER)
    public Integer exmainState ;

    /**
     * 审核状态描述
     */
    @DbTableField(columnName = "c_exmain_state_desc", dbType = DbTypeEnum.VARCHAR)
    public String exmainStateDesc ;

    /**
     * 是否申诉
     */
    @DbTableField(columnName = "c_is_appeal", dbType = DbTypeEnum.INTEGER)
    public Integer isAppeal ;

    /**
     * 
     */
    @DbTableField(columnName = "c_check_attach", dbType = DbTypeEnum.VARCHAR)
    public String checkAttach ;

    private String sectionName;

    private String companyName;

    private List<PlaneUseMaterial> materials;

    private List<ScheduleFile> attaches;

    private List<Map<String, Object>> logs;


}
